Definition

Shamir secret sharing is a threshold secret-sharing scheme.

Construct, for nn parties, t<nt < n threshold, ℳ=ℤq\mathcal{M} = \mathbb{Z}_q message space, 𝒮=ℤq\mathcal{S} = \mathbb{Z}_q share space, qq prime such that q>nq > n, (or replace ℤq\mathbb{Z}_q with any finite field),

  • Share: input mm
    • tt random coefficients c1,...,cnc_1,...,c_n, c0=mc_0 = m
    • define polynomial p(x)=∑j=0tcjxjp(x) = \sum_{j=0}^t c_j x^j
    • output si=p(i)s_i = p(i) for each party ii
  • Recover: on input (1,s1),...,(n,sn)(1,s_1),...,(n,s_n)

References

  1. https://joyofcryptography.com/pdf/chap3.pdf
  2. https://www.ccs.neu.edu/home/wichs/class/crypto-fall17/lecture2.pdf
  3. https://www.ccs.neu.edu/home/wichs/class/crypto-fall17/lecture3.pdf
  4. https://en.wikipedia.org/wiki/Secret_sharing
  5. https://manpages.ubuntu.com/manpages/questing/man7/gfshare.7.html